---
title: 'Agents Setup'
description: 'Deploy and configure your agents for Open Agent Platform'
---

The first step in setting up Open Agent Platform is to deploy and configure your agents. To help with this, we're releasing three pre-built agents, customized specifically for Open Agent Platform:

- [Tools Agent](https://github.com/langchain-ai/oap-langgraph-tools-agent)
- [Supervisor Agent](https://github.com/langchain-ai/oap-agent-supervisor)
- [Deep Research Agent](https://github.com/langchain-ai/oap-deep-researcher)

## Deploying Agents

To use these agents in your instance, you should:

1. Clone the repositories
2. Follow the instructions in the READMEs
3. Deploy the agents to LangGraph Platform, or run `langgraph dev` to run the agents locally.

## API Keys

These agents will require API keys for models and in some cases for other features (like search tools).
As a developer, you can allow users to configure these API keys in the settings page on Open Agent Platform.
We've exposed `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `GOOGLE_API_KEY`, and `TAVILY_API_KEY` for use in our demo agents, but this is easily extendable by you for any custom agents.


The keys that users set in this page will be passed to any agents as part of the runtime config, under the `apiKeys` configurable field.
As a developer, you can choose to require users to bring their own API keys, or to fallback to the environment variables set in LangGraph Platform deployment itself.

    <Tip>
    When using the demo instance of OAP, the Tools Agent and Supervisor will first use any API keys set by the user in OAP, but will fall back to API Keys set by the LangChain team in the base deployments.
    The Deep Researcher **requires** the user to set their own API keys in OAP on our demo instance.
    </Tip>

## Configuration

Once deployed or running locally, you can connect them to your instance of Open Agent Platform by setting the configuration environment variables. The configuration object is as follows:

```json
{
  "id": "The project ID of the deployment. For locally running LangGraph servers, this can be any UUID Version 4.",
  "tenantId": "The tenant ID of your LangSmith account. For locally running LangGraph servers, this can be any UUID Version 4.",
  "deploymentUrl": "The API URL to your deployment.",
  "name": "A custom name for your deployment",
  "isDefault": "Whether this deployment is the default deployment. Should only be set to true for one deployment.",
  "defaultGraphId": "The graph ID of the default graph for the entire OAP instance. We recommend this is set to the graph ID of a graph which supports RAG & MCP tools. This must be set in the same deployment which isDefault is set to true on. Optional, but required in at least one deployment.",
}
```
    <Tip>
    If you are running agents locally via `langgraph dev`, the `id` (project ID), and `tenantId` should be any valid UUID version 4, such as those generated by `uuid.uuid4()`. Ensure each graph has a unique `id`, and all graphs share the same `tenantId`.
    </Tip>

## Finding Project & Tenant IDs

To easily find your project & tenant IDs for agents deployed to LangGraph Platform, you can make a GET request to the `/info` endpoint of your deployment URL. Then, copy the `project_id` value into `id`, and `tenant_id` into `tenantId`.

## Setting Environment Variables

After constructing the JSON objects with these values for each of the deployments you want to include in your Open Agent Platform instance, you should stringify them into a single, flat array, then set them under the `NEXT_PUBLIC_DEPLOYMENTS` environment variable inside the `apps/web/` directory.

The following is an example of what this variable would look like for a single, local deployment:

```bash
NEXT_PUBLIC_DEPLOYMENTS=[{"id":"bf63dc89-1de7-4a65-8336-af9ecda479d6","deploymentUrl":"http://localhost:2024","tenantId":"42d732b3-1324-4226-9fe9-513044dceb58","name":"Local deployment","isDefault":true,"defaultGraphId":"agent"}]
```
